Dan Callahan [Thu, 25 May 2017 03:01:02 +0000 (22:01 -0500)]
Remove superfluous `;;` sequences
bors [Wed, 24 May 2017 15:46:58 +0000 (15:46 +0000)]
Auto merge of #4088 - Nemikolh:buildscript-stderr, r=alexcrichton
Write stderr output from build-scripts next to stdout output
Closes #3462.
Please let me know if you want to change the file name for the error output. I originally thought that `stdout` and `stderr` would have been nice but I'm worried that changing `output` to `stdout` would cause breakage. So I choose the more conservative route.
Nemikolh [Tue, 23 May 2017 17:06:43 +0000 (18:06 +0100)]
Mention the stderr file in the documentation.
Nemikolh [Tue, 23 May 2017 16:21:40 +0000 (17:21 +0100)]
Write stderr output from build-scripts to disk.
Closes #3462
bors [Mon, 22 May 2017 20:18:03 +0000 (20:18 +0000)]
Auto merge of #4085 - alexcrichton:fix-rewrite, r=matklad
Fix a serialization error on publish
In TOML we have to emit all keys before we emit all sub-tables, so to handle
that for dependencies just transform everything to an elaborated version.
Closes #4081
Alex Crichton [Mon, 22 May 2017 15:56:27 +0000 (08:56 -0700)]
Fix a serialization error on publish
In TOML we have to emit all keys before we emit all sub-tables, so to handle
that for dependencies just transform everything to an elaborated version.
Closes #4081
bors [Mon, 22 May 2017 15:30:03 +0000 (15:30 +0000)]
Auto merge of #4084 - shiver:issue-3360, r=alexcrichton
3360 - Allow for features to be either comma or space delimited.
This is my attempt at tackling issue #3360.
Hopefully I interpreted the original request correctly and this is what you were looking for.
Any suggestions you might have to improve the submission would be great.
Thanks!
Robert Vally [Mon, 22 May 2017 13:14:03 +0000 (21:14 +0800)]
3360 - Allow for features to be either comma or space delimited.
bors [Thu, 18 May 2017 19:05:20 +0000 (19:05 +0000)]
Auto merge of #3937 - andwur:rustc-flag-determinism, r=alexcrichton
Deterministic -L and --cfg flag ordering
This ensures that the `-L` and `--cfg` flags passed to `rustc` have stable ordering across runs.
It also does the same for `--cfg` flags passed to `rustdoc`.
Fixes #3895
Alex Crichton [Tue, 16 May 2017 15:11:23 +0000 (08:11 -0700)]
Only sort deps in build script dependency generation
bors [Thu, 18 May 2017 16:02:59 +0000 (16:02 +0000)]
Auto merge of #4069 - alexcrichton:remove-unused-dep, r=alexcrichton
Remove chrono as a dependency
Turns out we don't use it!
Alex Crichton [Thu, 18 May 2017 16:01:35 +0000 (09:01 -0700)]
Remove chrono as a dependency
Turns out we don't use it!
bors [Thu, 18 May 2017 09:34:53 +0000 (09:34 +0000)]
Auto merge of #4030 - alexcrichton:rewrite-cargo-toml, r=matklad
Rewrite Cargo.toml when packaging crates
This commit is an implementation of rewriting TOML manifests when we publish
them to the registry. The rationale for doing this is to provide a guarantee
that downloaded tarballs from crates.io can be built with `cargo build`
(literally). This in turn eases a number of other possible consumers of crates
from crates.io
* Vendored sources can now be more easily modified/checked as cargo build should
work and they're standalone crates that suffice for `path` dependencies
* Tools like cargobomb/crater no longer need to edit the manifest and can
instead perform regression testing on the literal tarballs they download
* Other systems such as packaging Rust code may be able to take advantage of
this, but this is a less clear benefit.
Overall I'm hesitatnt about this, unfortunately. This is a silent translation
happening on *publish*, a rare operation, that's difficult to inspect before it
flies up to crates.io. I wrote a script to run this transformation over all
crates.io crates and found a surprisingly large number of discrepancies. The
transformation basically just downloaded all crates at all versions,
regenerated the manifest, and then tested if the two manifests were (in memory)
the same.
Unfortunately historical Cargo had a critical bug which I think made this
exercise not too useful. Cargo used to *not* recreate tarballs if one already
existed, which I believe led to situations such as:
1. `cargo publish`
2. Cargo generates an error about a dependency. This could be that there's a
`version` not present in a `path` dependency, there could be a `git`
dependency, etc.
3. Errors are fixed.
4. `cargo publish`
5. Publish is successful
In step 4 above historical Cargo *would not recreate the tarball*. This means
that the contents of the index (what was published) aren't guaranteed to match
with the tarball's `Cargo.toml`. When building from crates.io this is ok as the
index is the source of truth for dependency information, but it means that *any*
transformation to rewrite Cargo.toml is impossible to verify against all crates
on crates.io (due to historical bugs like these).
I strove to read as many errors as possible regardless, attempting to suss out
bugs in the implementation here. To further guard against surprises I've updated
the verification step of packaging to work "normally" in these sense that it's
not rewriting dependencies itself or changing summaries. I'm hoping that this
serves as a good last-ditch effort that what we're about to publish will indeed
build as expected when uploaded to crates.io
Overall I'm probably 70% confident in this change. I think it's necessary to
make progress, but I think there are going to be very painful bugs that arise
from this feature. I'm open to ideas to help weed out these bugs ahead of time!
I've done what I can but I fear it may not be entirely enough.
Closes #4027
Alex Crichton [Thu, 11 May 2017 05:09:44 +0000 (22:09 -0700)]
Rewrite Cargo.toml when packaging crates
This commit is an implementation of rewriting TOML manifests when we publish
them to the registry. The rationale for doing this is to provide a guarantee
that downloaded tarballs from crates.io can be built with `cargo build`
(literally). This in turn eases a number of other possible consumers of crates
from crates.io
* Vendored sources can now be more easily modified/checked as cargo build should
work and they're standalone crates that suffice for `path` dependencies
* Tools like cargobomb/crater no longer need to edit the manifest and can
instead perform regression testing on the literal tarballs they download
* Other systems such as packaging Rust code may be able to take advantage of
this, but this is a less clear benefit.
Overall I'm hesitatnt about this, unfortunately. This is a silent translation
happening on *publish*, a rare operation, that's difficult to inspect before it
flies up to crates.io. I wrote a script to run this transformation over all
crates.io crates and found a surprisingly large number of discrepancies. The
transformation basically just downloaded all crates at all versions,
regenerated the manifest, and then tested if the two manifests were (in memory)
the same.
Unfortunately historical Cargo had a critical bug which I think made this
exercise not too useful. Cargo used to *not* recreate tarballs if one already
existed, which I believe led to situations such as:
1. `cargo publish`
2. Cargo generates an error about a dependency. This could be that there's a
`version` not present in a `path` dependency, there could be a `git`
dependency, etc.
3. Errors are fixed.
4. `cargo publish`
5. Publish is successful
In step 4 above historical Cargo *would not recreate the tarball*. This means
that the contents of the index (what was published) aren't guaranteed to match
with the tarball's `Cargo.toml`. When building from crates.io this is ok as the
index is the source of truth for dependency information, but it means that *any*
transformation to rewrite Cargo.toml is impossible to verify against all crates
on crates.io (due to historical bugs like these).
I strove to read as many errors as possible regardless, attempting to suss out
bugs in the implementation here. To further guard against surprises I've updated
the verification step of packaging to work "normally" in these sense that it's
not rewriting dependencies itself or changing summaries. I'm hoping that this
serves as a good last-ditch effort that what we're about to publish will indeed
build as expected when uploaded to crates.io
Overall I'm probably 70% confident in this change. I think it's necessary to
make progress, but I think there are going to be very painful bugs that arise
from this feature. I'm open to ideas to help weed out these bugs ahead of time!
I've done what I can but I fear it may not be entirely enough.
Closes #4027
bors [Wed, 17 May 2017 13:54:21 +0000 (13:54 +0000)]
Auto merge of #4065 - michaelwoerister:smarter-cargo-incremental, r=alexcrichton
Only compile user-modifiable projects incrementally.
Fixes #3972. Thanks for pointing me to the correct implementation, Alex!
r? @alexcrichton
Michael Woerister [Wed, 17 May 2017 12:14:41 +0000 (14:14 +0200)]
Only compile user-modifiable projects incrementally.
bors [Wed, 17 May 2017 01:33:51 +0000 (01:33 +0000)]
Auto merge of #4060 - alexcrichton:nobare, r=matklad
Don't use a bare checkout of the index
Both old and new Cargo share the same index, so be sure to maintain
compatibility by initializing a non-bare repository for the index. Note that
a nightly Cargo still won't check out the index, but when an older Cargo comes
along and tries to check it out then it'll work.
Closes #4058
bors [Tue, 16 May 2017 23:44:37 +0000 (23:44 +0000)]
Auto merge of #4055 - mersinvald:less-strict-libtest-tests, r=alexcrichton
Making tests less strict so they won't break on output changes
Required for https://github.com/rust-lang/rust/pull/41910
cc @Mark-Simulacrum
cc @alexcrichton
bors [Tue, 16 May 2017 22:16:09 +0000 (22:16 +0000)]
Auto merge of #3979 - hjr3:issue-3911, r=alexcrichton
Support glob syntax in workspace members
Fixes #3911
Alex Crichton [Tue, 16 May 2017 14:07:36 +0000 (07:07 -0700)]
Don't use a bare checkout of the index
Both old and new Cargo share the same index, so be sure to maintain
compatibility by initializing a non-bare repository for the index. Note that
a nightly Cargo still won't check out the index, but when an older Cargo comes
along and tries to check it out then it'll work.
Closes #4058
Andrew Watts [Fri, 21 Apr 2017 06:17:52 +0000 (15:47 +0930)]
Add test case for non-deterministic --cfg flags passed to rustc
Andrew Watts [Fri, 21 Apr 2017 06:11:01 +0000 (15:41 +0930)]
Fix non-deterministic --cfg feature flag list generation
The resolved features were returned in a HashSet and then iterated over,
which returns the feature names in arbitrary order.
See #3895
Andrew Watts [Fri, 21 Apr 2017 02:36:32 +0000 (12:06 +0930)]
Add test case for non-deterministic rustc flags due to dependencies
Andrew Watts [Fri, 21 Apr 2017 01:24:47 +0000 (10:54 +0930)]
Fix non-deterministic unit dependency list generation
This resulted in the flags passed to rustc having random
ordering, see #3895.
Alex Crichton [Tue, 16 May 2017 15:03:36 +0000 (08:03 -0700)]
Use a few more `chain_error` calls
Mike Lubinets [Tue, 16 May 2017 13:32:56 +0000 (16:32 +0300)]
Merge branch 'master' into less-strict-libtest-tests
bors [Tue, 16 May 2017 11:35:48 +0000 (11:35 +0000)]
Auto merge of #4057 - jtojnar:patch-1, r=matklad
Update link in manifest documentation
Jan Tojnar [Tue, 16 May 2017 10:51:47 +0000 (12:51 +0200)]
Update link in manifest documentation
Mike Lubinets [Tue, 16 May 2017 02:13:43 +0000 (05:13 +0300)]
Less strict tests regarding libtest's stdout
bors [Tue, 16 May 2017 01:16:03 +0000 (01:16 +0000)]
Auto merge of #4051 - alexcrichton:fix-flaky-test, r=alexcrichton
Fix a flaky concurrent test with correct locking
The recent refactoring to clone the bare registry left in an accidental path
where index checkouts could clobber one another. This commit updates the logic
with proper locking and attempt ordering, attempting a full retry of the open
operation after the index locked.
bors [Mon, 15 May 2017 23:29:58 +0000 (23:29 +0000)]
Auto merge of #4050 - eminence:help_jobs_text, r=alexcrichton
Reword the `cargo test --help` text about the --jobs argument
This should reduce confusion about what the --jobs argument does and how
to control the number of simultaneous running test cases.
Closes #4045
bors [Mon, 15 May 2017 20:28:27 +0000 (20:28 +0000)]
Auto merge of #4046 - jmatraszek:fix_rust_41797, r=alexcrichton
Change inferring bin's name logic
Should fix rust-lang/rust#41797.
Alex Crichton [Mon, 15 May 2017 19:09:16 +0000 (12:09 -0700)]
Fix a flaky concurrent test with correct locking
The recent refactoring to clone the bare registry left in an accidental path
where index checkouts could clobber one another. This commit updates the logic
with proper locking and attempt ordering, attempting a full retry of the open
operation after the index locked.
bors [Mon, 15 May 2017 18:34:40 +0000 (18:34 +0000)]
Auto merge of #3929 - Xion:master, r=alexcrichton
Allow cargo:rustc-env in build scripts
This is an attempt to address issue #2875. Basically, I'm trying to allow build scripts to produce`cargo:rustc-env=FOO=foo` lines in their output. These are then translated to `env!()`-friendly env. vars that rustc is run with.
bors [Mon, 15 May 2017 16:12:09 +0000 (16:12 +0000)]
Auto merge of #4043 - alexcrichton:fix-flaky-test, r=alexcrichton
Don't try to reach example.com in a test
Instead specify localhost
Alex Crichton [Sun, 14 May 2017 17:36:01 +0000 (10:36 -0700)]
Don't try to reach example.com in a test
Instead specify localhost
Andrew Chin [Mon, 15 May 2017 14:40:36 +0000 (10:40 -0400)]
Reword the `cargo test --help` text about the --jobs argument
This should reduce confusion about what the --jobs argument does and how
to control the number of simultaneous running test cases.
Closes #4045
bors [Mon, 15 May 2017 14:08:19 +0000 (14:08 +0000)]
Auto merge of #4047 - boxofrox:update-bin-docs, r=alexcrichton
Update docs: cargo does not build src/bin/*.rs when toml contains [[bin]
Update docs per #4013.
Does it make sense to also mention this behavior in the [Configuring a target](http://doc.crates.io/manifest.html#configuring-a-target) section?
Justin Charette [Sun, 14 May 2017 21:33:33 +0000 (17:33 -0400)]
Update documentation: cargo does not build src/bin/*.rs when toml contains [[bin]]
Signed-off-by: Justin Charette <charetjc@gmail.com>
Jakub Matraszek [Sun, 14 May 2017 20:47:24 +0000 (22:47 +0200)]
Change inferring bin's name logic
bors [Sat, 13 May 2017 18:06:26 +0000 (18:06 +0000)]
Auto merge of #3954 - RReverser:run-with, r=alexcrichton
Add support for custom target-specific runners
When `target.$triple.runner` is specified, it will be used for any execution commands by cargo including `cargo run`, `cargo test` and `cargo bench`. The original file is passed to the runner executable as a first argument.
This allows to run tests when cross-comping Rust projects.
This is not a complete solution and might be extended in future for better ergonomics to support passing extra arguments to the runner itself or overriding runner from the command line, but it should already unlock major existing use cases.
Fixes #1411
Resolves #3626
Karol Kuczmarski [Sat, 13 May 2017 16:00:52 +0000 (17:00 +0100)]
Document the feature
Karol Kuczmarski [Sat, 13 May 2017 15:51:40 +0000 (16:51 +0100)]
Fix build script envvars for `cargo test/doc`
Ingvar Stepanyan [Sat, 13 May 2017 10:36:53 +0000 (11:36 +0100)]
Fix tidy error
Ingvar Stepanyan [Fri, 12 May 2017 22:07:42 +0000 (23:07 +0100)]
Allow runner params
Ingvar Stepanyan [Wed, 26 Apr 2017 00:32:20 +0000 (01:32 +0100)]
Add documentation about target.$triple.runner
Ingvar Stepanyan [Wed, 26 Apr 2017 00:16:17 +0000 (01:16 +0100)]
Add support for custom target-specific runners
When `target.$triple.runner` is specified, it will be used for any execution commands by cargo including `cargo run`, `cargo test` and `cargo bench`. The original file is passed to the runner executable as a first argument.
This allows to run tests when cross-comping Rust projects.
This is not a complete solution, and might be extended in future for better ergonomics to support passing extra arguments to the runner itself or overriding runner from command line, but it should already unlock major existing usecases.
Fixes #1411
Resolves #3626
Karol Kuczmarski [Fri, 12 May 2017 20:47:28 +0000 (21:47 +0100)]
Fix PR comments
Karol Kuczmarski [Mon, 17 Apr 2017 18:48:56 +0000 (19:48 +0100)]
Allow cargo:rustc-env in build scripts
bors [Fri, 12 May 2017 05:11:06 +0000 (05:11 +0000)]
Auto merge of #4033 - integer32llc:fix-sys-docs, r=alexcrichton
Clear up Linking to Systems Libraries docs
Fixes #2191.
Carol (Nichols || Goulding) [Fri, 12 May 2017 01:39:36 +0000 (21:39 -0400)]
Clear up Linking to Systems Libraries docs
Fixes #2191.
bors [Thu, 11 May 2017 22:05:55 +0000 (22:05 +0000)]
Auto merge of #4026 - alexcrichton:bare-registry, r=matklad
Don't check out the crates.io index locally
This commit moves working with the crates.io index to operating on the git
object layers rather than actually literally checking out the index. This is
aimed at two different goals:
* Improving the on-disk file size of the registry
* Improving cloning times for the registry as the index doesn't need to be
checked out
The on disk size of my `registry` folder of a fresh check out of the index went
form 124M to 48M, saving a good chunk of space! The entire operation took about
0.6s less on a Unix machine (out of 4.7s total for current Cargo). On Windows,
however, the clone operation went from 11s to 6.7s, a much larger improvement!
Closes #4015
Alex Crichton [Wed, 10 May 2017 22:00:33 +0000 (15:00 -0700)]
Don't check out the crates.io index locally
This commit moves working with the crates.io index to operating on the git
object layers rather than actually literally checking out the index. This is
aimed at two different goals:
* Improving the on-disk file size of the registry
* Improving cloning times for the registry as the index doesn't need to be
checked out
The on disk size of my `registry` folder of a fresh check out of the index went
form 124M to 48M, saving a good chunk of space! The entire operation took about
0.6s less on a Unix machine (out of 4.7s total for current Cargo). On Windows,
however, the clone operation went from 11s to 6.7s, a much larger improvement!
Closes #4015
bors [Thu, 11 May 2017 20:24:47 +0000 (20:24 +0000)]
Auto merge of #4032 - alexcrichton:retry-500, r=matklad
Automatically retry HTTP requests returning 5xx
This commit implements auto-retry for downloading crates from crates.io whenever
a 5xx response is returned. This should help assist with automatic retries
whenever Cargo attempts to download directly from S3 but S3 returns a 500 error,
which is defined as "please retry again".
This logic may be a little eager to retry *all* 500 errors, but there's a
maximum cap on all retries regardless, so hopefully it doesn't result in too
many problems.
Closes #3962
Alex Crichton [Thu, 11 May 2017 19:41:13 +0000 (12:41 -0700)]
Automatically retry HTTP requests returning 5xx
This commit implements auto-retry for downloading crates from crates.io whenever
a 5xx response is returned. This should help assist with automatic retries
whenever Cargo attempts to download directly from S3 but S3 returns a 500 error,
which is defined as "please retry again".
This logic may be a little eager to retry *all* 500 errors, but there's a
maximum cap on all retries regardless, so hopefully it doesn't result in too
many problems.
Closes #3962
bors [Wed, 10 May 2017 21:52:53 +0000 (21:52 +0000)]
Auto merge of #4024 - rsertelon:fix-4016-fetch-only-master, r=alexcrichton
Fetch only master branch of the registry index
Should close #4016
Romain Sertelon [Wed, 10 May 2017 20:08:58 +0000 (22:08 +0200)]
Fetch only master branch of the registry index
Should close #4016
bors [Wed, 10 May 2017 17:34:31 +0000 (17:34 +0000)]
Auto merge of #4022 - sfackler:metadata-target-dir, r=matklad
Expose the target directory in cargo metadata
Closes #4017
Steven Fackler [Wed, 10 May 2017 16:36:23 +0000 (09:36 -0700)]
Expose the target directory in cargo metadata
Closes #4017
Herman J. Radtke III [Wed, 10 May 2017 04:49:20 +0000 (21:49 -0700)]
fix - remove unwrap
bors [Tue, 9 May 2017 17:15:40 +0000 (17:15 +0000)]
Auto merge of #4006 - mcgoo:cargo_test_dylib, r=alexcrichton
fix `cargo test` of dylib projects for end user runs too
Fixes running `cargo test` and `cargo test --target <target>` for dylib projects.
Moves the logic just landed in https://github.com/rust-lang/cargo/pull/3996 into cargo itself, so cargo sets the dylib path for anyone running `cargo test` or `cargo run`. Current master sets the dylib path only for `cargo test` on cargo itself.
This PR pins to rustup 1.2.0 for the purposes of testing. If https://github.com/rust-lang-nursery/rustup.rs/pull/1093 ends up working out, then this PR would only be important for non-rustup users and people doing cross testing, `cargo test --target <target>`.
Arguably https://github.com/mcgoo/cargo/blob/
ed273851f8bc76f726eda4a2e2a7bb470c3718bc/src/cargo/ops/cargo_rustc/context.rs#L249-L253 should point to lib/rustlib/\<host triple\>/lib instead of sysroot/lib, because I think if the libs are different, you will never be able to compile a working plugin anyway, and for the host=target case you get the lib/rustlib/\<host triple\>/lib anyhow. Is there ever a case where the lib/rustlib/\<host triple\>/lib and sysroot/lib versions of the libs would be expected to differ?
This is not a huge deal for me one way or the other - it doesn't impact my workflow at all. I nearly dropped it when I saw @alexcrichton had made it all work in 3996, but I think it's worth doing because it removes a surprise. It certainly would have saved me a couple of days of confusion. Either way, thanks for looking it over.
bors [Tue, 9 May 2017 15:35:20 +0000 (15:35 +0000)]
Auto merge of #4010 - jonhoo:better-incremental-nightly-test, r=alexcrichton
Bring test of nightly in line with tests
#4000 passes `-Zincremental` to `rustc` only on nightly, but uses a different mechanism for detecting nightly than [cargotest does](https://github.com/rust-lang/cargo/blob/
9bf9bddd9297cfb5098be6146d85be551c6d4eff/tests/cargotest/lib.rs#L37). This PR brings the two in line, which should hopefully fix the build failure observed in https://github.com/rust-lang/rust/pull/41830#issuecomment-
300052969.
Jon Gjengset [Tue, 9 May 2017 03:44:41 +0000 (23:44 -0400)]
Bring test of nightly in line with tests
Herman J. Radtke III [Tue, 9 May 2017 05:30:23 +0000 (22:30 -0700)]
fixes
- fix glob missing members test to use proper expectations
- update code to handle case where glob does not match anything
bors [Mon, 8 May 2017 21:11:30 +0000 (21:11 +0000)]
Auto merge of #3974 - mcgoo:build_rs_native_path, r=alexcrichton
fix dynamic search path for build scripts
fixes https://github.com/rust-lang/cargo/issues/3957
Jim McGrath [Tue, 2 May 2017 15:34:29 +0000 (10:34 -0500)]
fix dynamic library search path for build scripts
Make dynamic library search path handling for build scripts mirror the
behaviour for cargo run etc. -L paths are taken and stripped of the
native= and similar prefixes and added to the dynamic library search
path if they are inside the target dir.
Resolves https://github.com/rust-lang/cargo/issues/3957
Jim McGrath [Mon, 8 May 2017 17:58:02 +0000 (12:58 -0500)]
use latest rustup again (undo pin to 1.2.0)
Jim McGrath [Mon, 8 May 2017 17:57:29 +0000 (12:57 -0500)]
avoid an extra cargo invocation
bors [Mon, 8 May 2017 16:16:30 +0000 (16:16 +0000)]
Auto merge of #4008 - alexcrichton:update-ssh, r=alexcrichton
Update libssh2-sys
It now has an updated initialization routine to hopefully get ssh working on
Windows, with a fix for alexcrichton/git2-rs#202
Alex Crichton [Mon, 8 May 2017 16:15:41 +0000 (09:15 -0700)]
Update libssh2-sys
It now has an updated initialization routine to hopefully get ssh working on
Windows, with a fix for alexcrichton/git2-rs#202
bors [Mon, 8 May 2017 14:48:01 +0000 (14:48 +0000)]
Auto merge of #3998 - fantoine:patch-1, r=alexcrichton
Ignore malformed manifests on git dependencies
Fix for #3935
Jim McGrath [Fri, 5 May 2017 20:57:47 +0000 (15:57 -0500)]
set dylib path correctly for target when running `cargo test` etc
bors [Sun, 7 May 2017 18:03:51 +0000 (18:03 +0000)]
Auto merge of #3999 - kureuil:cratesio-676, r=alexcrichton
Document new behavior of crates.io with the documentation field of the manifest
[crates.io](https://crates.io/) now automatically links a crate with its [docs.rs](https://docs.rs/) page if no documentation link was specified in the manifest.
See rust-lang/crates.io#676
bors [Sun, 7 May 2017 16:24:48 +0000 (16:24 +0000)]
Auto merge of #4000 - jonhoo:only-incremental-on-nightly, r=alexcrichton
Only pass -Zincremental to nightly rustc.
`-Z` can only be used on nightly builds; other builds complain loudly. Since incremental builds only work on nightly anyway, we should silently ignore `CARGO_INCREMENTAL` on anything but nightly. This allows users to always have `CARGO_INCREMENTAL` set without getting unexpected errors on stable/beta builds.
Fixes #3835.
Herman J. Radtke III [Sun, 7 May 2017 06:33:45 +0000 (23:33 -0700)]
Add test with workspace path that has no Cargo.toml
Herman J. Radtke III [Sun, 7 May 2017 06:33:13 +0000 (23:33 -0700)]
Update workspace docs to include globs
Jon Gjengset [Sat, 6 May 2017 22:31:10 +0000 (18:31 -0400)]
Only pass -Zincremental to nightly rustc.
Fixes #3835
Fabien Antoine [Sat, 6 May 2017 12:44:41 +0000 (14:44 +0200)]
Added test
Fabien Antoine [Sat, 6 May 2017 10:41:26 +0000 (12:41 +0200)]
Refactorized code
bors [Sat, 6 May 2017 05:04:53 +0000 (05:04 +0000)]
Auto merge of #3996 - alexcrichton:rustup-up, r=alexcrichton
Upgrade rustup used on AppVeyor
Louis Person [Fri, 5 May 2017 20:50:01 +0000 (22:50 +0200)]
Document new behavior of crates.io with the documentation field of the manifest
Alex Crichton [Thu, 4 May 2017 21:50:57 +0000 (14:50 -0700)]
Upgrade rustup used on AppVeyor
Fabien Antoine [Fri, 5 May 2017 09:53:56 +0000 (11:53 +0200)]
Ignore malformed manifests on git dependencies
bors [Thu, 4 May 2017 14:10:01 +0000 (14:10 +0000)]
Auto merge of #3994 - matklad:blacklist, r=alexcrichton
Blacklist some binary names in `cargo new`
r? @alexcrichton
closes #3990
Aleksey Kladov [Thu, 4 May 2017 12:23:38 +0000 (15:23 +0300)]
Blacklist some binary names in `cargo new`
bors [Wed, 3 May 2017 19:38:36 +0000 (19:38 +0000)]
Auto merge of #3991 - alexcrichton:better-errors, r=matklad
Improve configuration load errors
Add some more context information on the backtrace
Alex Crichton [Wed, 3 May 2017 16:57:37 +0000 (09:57 -0700)]
Improve configuration load errors
Add some more context information on the backtrace
bors [Tue, 2 May 2017 18:35:07 +0000 (18:35 +0000)]
Auto merge of #3951 - alexcrichton:lift-cdylib, r=alexcrichton
Don't use `-C metadata` cdylibs like we do with dylibs
Dylibs don't get any metadata/extra filename info applied to them as "final
targets" because it can mess with system-specific information (e.g. on OSX) so
this just applies the same logic to cdylibs which need similar treatment on more
platforms (like Windows).
Closes #3934
Alex Crichton [Mon, 24 Apr 2017 20:41:27 +0000 (13:41 -0700)]
Don't use `-C metadata` cdylibs like we do with dylibs
Dylibs don't get any metadata/extra filename info applied to them as "final
targets" because it can mess with system-specific information (e.g. on OSX) so
this just applies the same logic to cdylibs which need similar treatment on more
platforms (like Windows).
Closes #3934
bors [Tue, 2 May 2017 14:12:33 +0000 (14:12 +0000)]
Auto merge of #3988 - sdroege:bench-all, r=alexcrichton
Add support for benchmarking all members of a workspace with "bench --all"
Same behaviour as "build --all" and others.
See https://github.com/rust-lang/cargo/issues/2878#issuecomment-
298302043
Sebastian Dröge [Tue, 2 May 2017 13:46:30 +0000 (16:46 +0300)]
Add tests for "bench --all"
These are basically the same as the ones from "test --all" and "doc --all"
Sebastian Dröge [Tue, 2 May 2017 13:46:01 +0000 (16:46 +0300)]
Add support for benchmarking all members of a workspace with "bench --all"
Same behaviour as "build --all" and others.
bors [Sun, 30 Apr 2017 08:23:23 +0000 (08:23 +0000)]
Auto merge of #3980 - Keruspe:master, r=alexcrichton
update libgit2-sys for libressl compat
Marc-Antoine Perennou [Sun, 30 Apr 2017 06:51:19 +0000 (08:51 +0200)]
fix build-auth test
libgit2 somehow reverted the version back to 0.25.0 after the 0.25.1 release
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
Marc-Antoine Perennou [Sun, 30 Apr 2017 06:08:23 +0000 (08:08 +0200)]
update libgit2-sys for libressl compat
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
Herman J. Radtke III [Sat, 29 Apr 2017 02:08:07 +0000 (19:08 -0700)]
Support glob syntax in workspace members
Fixes #3911
bors [Sat, 29 Apr 2017 17:42:46 +0000 (17:42 +0000)]
Auto merge of #3977 - rap2hpoutre:patch-1, r=alexcrichton
Added a base font size
See https://github.com/rust-lang/crates.io/pull/689 (ping @carols10cents)
A base font size was added to crates.io, here is the same addition for docs.crate.io
Raphaël Huchet [Sat, 29 Apr 2017 10:42:56 +0000 (12:42 +0200)]
Added a base font size
bors [Fri, 28 Apr 2017 16:26:07 +0000 (16:26 +0000)]
Auto merge of #3970 - golddranks:master, r=alexcrichton
exec (replace the current process) external subcommands instead of running them as child processes.
This fixes https://github.com/rust-lang/cargo/issues/3959 (tested to be working with my yet-to-be-published subcommand, and tested not to break things with `cargo tree` and `cargo outdated`).
Pyry Kontio [Fri, 28 Apr 2017 05:03:06 +0000 (14:03 +0900)]
exec (replace the current process) external subommands instead of running them as child processes.